//弹性运动		弹性运动天生有过界问题，需要考虑高度、宽度等是否会为负数情况,再选择是否使用

var iSpeed = 0;		//因为使用了全局变量，所以不适合运用在多个对象，否则速度公用会互相影响。多个可以用自定义属性解决
var pos = 0;

function doMove(obj, attr, target) {
	clearInterval(obj.timer);
	obj.timer = setInterval(function (){
		pos = parseInt(getStyle(obj, attr);

		iSpeed += (target - pos) )/5;		//即未到目标点前做的是加速运动，超过目标点就是减速运动
		iSpeed = iSpeed*0.7;
		pos += iSpeed;

		obj.style[attr] = pos + 'px';

		if (Math.abs(target - pos) < 1 && Math.abs(iSpeed) < 1) {
			obj.style[attr] = target + 'px';
			clearInterval(obj.timer);
		};
	},30)
}

function getStyle(obj, attr){
	return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj)[attr];
}